home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Textfiles / zines / Happle / happle10.sit.hqx / Happle#10 / Files / Denial.sit / DoS / smurf.txt < prev    next >
Text File  |  1999-01-24  |  26KB  |  569 lines

  1. THE LATEST IN DENIAL OF SERVICE ATTACKS: "SMURFING"
  2. DESCRIPTION AND INFORMATION TO MINIMIZE EFFECTS
  3.  
  4. Craig A. Huegen
  5. chuegen@quadrunner.com
  6.  
  7. Last Update:  Wed Dec 30 19:33:38 PST 1998
  8.  
  9. New additions: 
  10. * Added more vendor info (ghankins@mindspring.net)
  11.  
  12. Editor's plea: *please* distribute this information freely, and abide by
  13. my redistribution requirements (see the very end) when doing so.  It's
  14. important that these attacks be minimized, and communication is the only
  15. way to help with this.
  16.  
  17. OVERVIEW:
  18.  
  19. The information here provides in-depth information regarding "smurf" and
  20. "fraggle" attacks, with a focus on Cisco routers and how to reduce the
  21. effects of the attack.  Some information is general and not related to an
  22. organization's particular vendor of choice; however, it is written with a
  23. Cisco router focus.  No confirmation has been made to the effects on other
  24. vendors' equipment; however, others have provided me with information for
  25. various vendors, which is provided in the document.  See the
  26. "Acknowledgements" section below for the sources and contact information. 
  27. I am happy to accept information from other colleagues or other vendors
  28. who are willing to provide information about other vendors' products in
  29. relation to this topic. 
  30.  
  31. This paper is always being updated as I receive more information about
  32. attacks and work with ways to minimize impact. 
  33.  
  34. DESCRIPTION:
  35.  
  36. The "smurf" attack, named after its exploit program, is one of the most
  37. recent in the category of network-level attacks against hosts.  A
  38. perpetrator sends a large amount of ICMP echo (ping) traffic at IP broadcast
  39. addresses, all of it having a spoofed source address of a victim.  If the
  40. routing device delivering traffic to those broadcast addresses performs
  41. the IP broadcast to layer 2 broadcast function noted below, most hosts on
  42. that IP network will take the ICMP echo request and reply to it with an
  43. echo reply each, multiplying the traffic by the number of hosts
  44. responding.  On a multi-access broadcast network, there could potentially
  45. be hundreds of machines to reply to each packet.
  46.  
  47. The "smurf" attack's cousin is called "fraggle", which uses UDP echo
  48. packets in the same fashion as the ICMP echo packets; it was a simple
  49. re-write of "smurf".
  50.  
  51. Currently, the providers/machines most commonly hit are IRC servers and
  52. their providers.
  53.  
  54. There are two parties who are hurt by this attack...  the intermediary
  55. (broadcast) devices--let's call them "amplifiers", and the spoofed address
  56. target, or the "victim".  The victim is the target of a large amount of
  57. traffic that the amplifiers generate.
  58.  
  59. Let's look at the scenario to paint a picture of the dangerous nature of
  60. this attack.  Assume a co-location switched network with 100 hosts, and
  61. that the attacker has a T1.  The attacker sends, say, a 768kb/s stream of
  62. ICMP echo (ping) packets, with a spoofed source address of the victim, to
  63. the broadcast address of the "bounce site".  These ping packets hit the
  64. bounce site's broadcast network of 100 hosts; each of them takes the packet
  65. and responds to it, creating 100 ping replies out-bound.  If you multiply
  66. the bandwidth, you'll see that 76.8 Mbps is used outbound from the "bounce
  67. site" after the traffic is multiplied.  This is then sent to the victim (the
  68. spoofed source of the originating packets).
  69.  
  70. HOW TO DETERMINE IF YOUR NETWORK IS VULNERABLE:
  71.  
  72. Several sites have been established to do both active and passive scanning
  73. of networks to determine whether or not directed-broadcast is enabled.
  74.  
  75. http://www.netscan.org/ is a site which actively scans the IPv4 address
  76. space and mails network contacts with information on how to disable them.
  77.  
  78. http://www.powertech.no/smurf/ is a site which will test scan your
  79. network and allow you to enter a known smurf amplifier site.
  80.  
  81. HOW TO KEEP YOUR SITE FROM BEING THE SOURCE
  82. PERPETRATORS USE TO ATTACK VICTIMS:
  83.  
  84. The perpetrators of these attacks rely on the ability to source spoofed
  85. packets to the "amplifiers" in order to generate the traffic which causes
  86. the denial of service.
  87.  
  88. In order to stop this, all networks should perform filtering either at the
  89. edge of the network where customers connect (access layer) or at the edge
  90. of the network with connections to the upstream providers, in order to
  91. defeat the possibility of source-address-spoofed packets from entering
  92. from downstream networks, or leaving for upstream networks.
  93.  
  94. Paul Ferguson of cisco Systems and Daniel Senie of BlazeNet have written
  95. an RFC pertaining to this topic.  See: 
  96.  
  97. ftp://ftp.isi.edu/in-notes/rfc2267.txt
  98.  
  99. for more information and examples on this subject.
  100.  
  101. Additionally, router vendors have added or are currently adding options
  102. to turn off the ability to spoof IP source addresses  by checking the
  103. source address of a packet against the routing table to ensure the return
  104. path of the packet is through the interface it was received on.
  105.  
  106. Cisco has added this feature to the current 11.1CC branch, used by many
  107. NSP's, in an interface command '[no] ip verify unicast reverse-path'.
  108.  
  109. See the "other vendors" section for 3Com information regarding this feature.
  110.  
  111. HOW TO STOP BEING AN INTERMEDIARY:
  112.  
  113. This attack relies on the router serving a large multi-access broadcast
  114. network to frame an IP broadcast address (such as 10.255.255.255) into a
  115. layer 2 broadcast frame (for Ethernet, FF:FF:FF:FF:FF:FF).  RFC 1812,
  116. "Requirements for IP Version 4 Routers", Section 5.3.5, specifies: 
  117.  
  118. ---
  119.    A router MAY have an option to disable receiving network-prefix-
  120.    directed broadcasts on an interface and MUST have an option to
  121.    disable forwarding network-prefix-directed broadcasts.  These options
  122.    MUST default to permit receiving and forwarding network-prefix-
  123.    directed broadcasts.
  124. ---
  125.  
  126. Generally, with IP providers and IP applications as we know them today,
  127. this behavior should not be needed, and it is recommended that
  128. directed-broadcasts be turned off, to suppress the effects of this attack.. 
  129.  
  130. Ethernet NIC hardware (MAC-layer hardware, specifically) will only listen
  131. to a select number of addresses in normal operation.  The one MAC address
  132. that all devices share in common in normal operation is the media
  133. broadcast, or FF:FF:FF:FF:FF:FF.  If a device receives a packet destined
  134. to the broadcast link-layer address, it will take the packet and send an
  135. interrupt for processing by the higher-layer routines.
  136.  
  137. To stop your Cisco router from converting these layer 3 broadcasts into
  138. layer 2 broadcasts, use the "no ip directed-broadcast" interface
  139. configuration command.  This should be configured on each interface of all
  140. routers.
  141.  
  142. As of Cisco IOS version 12.0, "no ip directed-broadcast" is now the default
  143. in order to protect networks by default.  "ip directed-broadcast" will be
  144. needed if your network requires directed broadcasts to be enabled.
  145.  
  146. Other vendor information: 
  147.  
  148. * Proteon/OpenROUTE: 
  149.   Daniel Senie (dts@senie.com) reports that Proteon/OpenROUTE Networks
  150.   routers have an option to turn off directed broadcasts in the IP
  151.   Configuration menus.  The command sequence to turn them off is: 
  152.   *CONFIG (on newer routers) or TALK 6 (on older routers)
  153.   Config>PROTOCOL IP
  154.   IP Config>DISABLE DIRECTED-BROADCAST
  155.   A restart of the router is then required.
  156. * Bay Networks: 
  157.   Jon Green (jcgreen@netins.net) reports that bugID CR33408 added the
  158.   ability to disable network-directed broadcasts beginning in version
  159.   12.01 rev 1 of BayRS code.
  160.   To disable, enter: 
  161.   [1:1]$bcc
  162.   bcc> config
  163.   hostname# ip
  164.   ip# directed-bcast disabled
  165.   ip# exit
  166.   Note that this will bounce all IP interfaces.
  167.   Greg Hankins (ghankins@mindspring.net) reports that in BayRS 13.01
  168.   and later, directed-broadcast is disabled by default.
  169. * 3Com NETBuilder products: 
  170.   Mike Kouri (Mike_Kouri@3com.com) reports that all 3Com NETBuilders have
  171.   an option to keep the router from forwarding the directed broadcasts.
  172.   The command sequence to disable the forwarding is: 
  173.   SETDefault -IP CONTrol = NoFwdSubnetBcast
  174.   Additionally, 3Com NETBuilder products running version 9.1 or later can
  175.   be configured to discard source-spoofed packets: 
  176.   SETDefault !<port> -FireWall CONTrol = (Filter, DenySrcSpoofing)
  177.   3Com states in the web page (listed below) that this command
  178.   "Specifies whether packets are subject to source-spoofing checks. This is a
  179.   CPU-intensive option and generally results in performance degradation. You
  180.   should disable this option except on interfaces where external, untrusted
  181.   traffic is received.  The source address of incoming packets is checked
  182.   against the routing table.  If the routing information shows that the
  183.   source address is unreachable, or reachable on different interfaces,
  184.   then it is a SrcSpoofing attack."
  185. * Cabletron SmartSwitch Router (Yago/SSR): 
  186.   Greg Hankins (ghankins@mindspring.net) reports directed-broadcast is
  187.   disabled by default, and can be enabled by entering the global command
  188.   "ip enable directed-broadcast".
  189. * Foundry Networks: 
  190.   Greg Hankins (ghankins@mindspring.net) reports that hardware running
  191.   Foundry's routing software can be configured to disable
  192.   directed-broadcasts with the global or per-interface "no ip
  193.   directed-broadcast" command.
  194. * ArrowPoint Communications: 
  195.   Greg Hankins (ghankins@mindspring.net) reports that directed-broadcasts
  196.   can be disabled by using the "no ip subnet-broadcast" global
  197.   configuration command.
  198. * SGI IRIX as a router: 
  199.   Mike O'Connor (mjo@dojo.mi.org) reports that IRIX has been configured
  200.   by default to not forward the directed-broadcasts when used as a router.
  201.   The tunable for this is in /var/sysgen/master.d/bsd.
  202.  
  203. There is one case study where this will stop intended behavior: In the
  204. case where samba (an SMB server for UNIX) or NT is used to "remote
  205. broadcast" into a LAN workgroup so that the workstations on that LAN can
  206. see the server, this will prevent the LAN machines from seeing the remote
  207. server.  This is *only* in the case where there is no WINS server (WINS is
  208. routed unicast) and a "remote broadcast" is being used--it's a rare but
  209. notable condition.
  210.  
  211. (Editor's note:  I welcome any comments as to what else breaks without
  212. the support for directed-broadcast.)
  213.  
  214. Additionally, hosts can be patched to refuse to respond to broadcasted
  215. ICMP echo packets.  RFC 1122, "Requirements for Internet Hosts --
  216. Communications Layer", Section 3.2.2.6, states: 
  217.  
  218. ---
  219.    An ICMP Echo Request destined to an IP broadcast or IP
  220.    multicast address MAY be silently discarded.
  221.  
  222.    DISCUSSION: 
  223.       This neutral provision results from a passionate debate
  224.       between those who feel that ICMP Echo to a broadcast
  225.       address provides a valuable diagnostic capability and
  226.       those who feel that misuse of this feature can too
  227.       easily create packet storms.
  228. ---
  229.  
  230. Because of this, most IP stack implementors have chosen to implement the
  231. default support provision, which is to reply to an ICMP Echo Request.
  232. As mentioned in the paragraph from the RFC (above), it is perfectly legal
  233. for a host to silently discard ICMP echos.  Several patches have been
  234. found floating about in mailing lists for disabling response to broadcast
  235. ICMP echos for the freely-available UNIX systems.
  236.  
  237. In the case of the smurf or fraggle attack, each host which supports this
  238. behavior on a broadcast LAN will happily reply with an ICMP or UDP (smurf
  239. or fraggle, respectively) echo-reply packet toward the spoofed source
  240. address, the victim.
  241.  
  242. The following section contains information to configure hosts *not* to
  243. respond to ICMP echo requests to broadcast addresses.
  244.  
  245. IBM has provided a setting in AIX 4.x to disable responses to broadcast
  246. addresses.  It is not available in AIX 3.x.  Use the "no" command to turn
  247. it off or on.  NOTE: On AIX 4.x responses are DISABLED by default.
  248.         no -o bcastping=0         # disable bcast ping responses (default)
  249.  
  250. Solaris can be set not to respond to ICMP echo requests.  Add the
  251. following line to your /etc/rc2.d/S69inet startup: 
  252.         ndd -set /dev/ip ip_respond_to_echo_broadcast 0
  253.  
  254. Starting with version 2.2.5, FreeBSD's IP stack does not respond to icmp
  255. echo requests destined to broadcast and multicast addresses by default.
  256. The sysctl parameter for this functionality is net.inet.icmp.bmcastecho. 
  257.  
  258. Under NetBSD, directed broadcasts can be disabled by using the sysctl
  259. command: 
  260.         sysctl -w net.inet.ip.directed-broadcast=0
  261.  
  262. Under Linux, one can use the CONFIG_IP_IGNORE_ECHO_REQUESTS variable to
  263. completely ignore ICMP echo requests.  Of course, this violates RFC 1122.
  264. "ipfw" can be used from Linux to block broadcast echos, a la: 
  265.  
  266. Any system with ipfw can be protected by adding rules such as: 
  267.         ipfwadm -I -a deny -P icmp -D 123.123.123.0 -S 0/0 0 8
  268.         ipfwadm -I -a deny -P icmp -D 123.123.123.255 -S 0/0 0 8
  269. (replace 123.123.123.0 and 123.123.123.255 with your base network number
  270. and broadcast address, respectively)
  271.  
  272. To protect a host against "fraggle" attacks on most UNIX machines, one
  273. should comment the lines which begin with "echo" and "chargen" in
  274. /etc/inetd.conf and restart inetd.
  275.  
  276. INFORMATION FOR VICTIMS AND HOW TO SUPPRESS ATTACKS:
  277.  
  278. The amount of bandwidth and packets per second (pps) that can be generated
  279. by this attack is quite large.  With a 200-host LAN, I was able to
  280. generate over 80 Mbps traffic at around 35 Kpps toward my target--a
  281. pretty significant amount.  The victims receive this because traffic is
  282. multiplied by the number of hosts on the broadcast network used (in this
  283. case, with a 200-host network, I was only required to send 400 Kbps
  284. to the broadcast address--less than one-third of a T1).
  285.  
  286. Many hosts cannot process this many packets per second; many hosts are
  287. connected to 10 Mbps Ethernet LANs where more traffic than wire speed
  288. is sent.  Therefore, the ability to drop these packets at the network
  289. border, or even before it flows down the ingress pipes, is desired.
  290.  
  291. Cisco routers have several "paths" which packets can take to be routed; 
  292. each has a varying degree of overhead.  The slowest of these is "process" 
  293. switching.  This is used when a complex task is required for processing
  294. packets.  The other modes are variations of a fast path--each of them with
  295. a set of advantages and disadvantages.  However, they're all handled at
  296. interrupt level (no process-level time is required to push these packets). 
  297.  
  298. In IOS versions (even the most recent), access-list denies are handled at
  299. the process (slow) level, because they require an ICMP unreachable to be
  300. generated to the originating host.  All packets were sent to the process
  301. level automatically to be handled this way.
  302.  
  303. Under a recent code change (Cisco bug ID CSCdj35407--integrated in version
  304. 11.1(14)CA and later 11.1CA, 11.1CC, 11.1CE, and 12.0 trains), packets
  305. denied by an access-list will be dropped at the interrupt (fast) level, with
  306. the exception of 2 packets per second per access-list deny line. These 2
  307. packets per second will be used to send the "ICMP unreachable via
  308. administrative block" messages.  This assumes that you don't want to log
  309. the access-list violations (via the "log" or "log-input"  keywords).  The
  310. ability to rate-limit "log-input" access-list lines (in order to more
  311. easily log these packets) is currently being integrated;  see the section
  312. below on tracing spoofed packet attacks for information on logging.
  313.  
  314. Filtering ICMP echo reply packets destined for your high-profile machines
  315. at the ingress interfaces of the network border routers will then permit
  316. the packets to be dropped at the earliest possible point.  However, it
  317. does not mean that the network access pipes won't fill, as the packets
  318. will still come down the pipe to be dropped at the router.  It will,
  319. however, take the load off the system being attacked.  Keep in mind that
  320. this also denies others from being able to ping from that machine (the
  321. replies will never reach the machine).
  322.  
  323. For those customers of providers who use Cisco, this may give you some
  324. leverage with the providers' security teams to help save your pipes by
  325. filtering before the traffic is sent to you.
  326.  
  327. An additional technology you can use to protect your machines is to use
  328. committed access rate, or CAR.  CAR is a functionality that works
  329. with Cisco Express Forwarding, found in 11.1CC, 11.1CE, and 12.0.  It
  330. allows network operators to limit certain types of traffic to specific
  331. sources and/or destinations.
  332.  
  333. For example, a provider has filtered its IRC server from receiving
  334. ICMP echo-reply packets in order to protect it, but  many attackers are
  335. now attacking other customer machines or network devices in order to
  336. fill some network segments.
  337.  
  338. The provider above chose to use CAR in order to limit all ICMP echo
  339. and echo-reply traffic received at the borders to 256 Kbps.  An example
  340. follows: 
  341.  
  342. ! traffic we want to limit
  343. access-list 102 permit icmp any any echo
  344. access-list 102 permit icmp any any echo-reply
  345. ! interface configurations for borders
  346. interface Serial3/0/0
  347.  rate-limit input access-group 102 256000 8000 8000 conform-action transmit exceed-action drop
  348.  
  349. This limits ICMP echo and echo-reply traffic to 256 Kbps with a small
  350. amount of burst.  Multiple "rate-limit" commands can be added to an
  351. interface in order to control other kinds of traffic as well.
  352.  
  353. The command "show interface [interface-name] rate-limit" will show the
  354. statistics for rate-limiting; "clear counters [interface-name]" will
  355. clear the statistics for a fresh look.
  356.  
  357. CAR can also be used to limit TCP SYN floods to particular hosts --
  358. without impeding existing connections.  Some attackers have started
  359. using very high streams of TCP SYN packets in order to harm systems
  360. once again.
  361.  
  362. Here is an example which limits TCP SYN packets directed at host
  363. 10.0.0.1 to 8 kbps or so: 
  364.  
  365. ! We don't want to limit established TCP sessions -- non-SYN packets
  366. access-list 103 deny tcp any host 10.0.0.1 established
  367. ! We do want to limit the rest of TCP (this really only includes SYNs)
  368. access-list 103 permit tcp any host 10.0.0.1
  369. ! interface configurations for network borders
  370. interface Serial3/0/0
  371.  rate-limit input access-group 103 8000 8000 8000 conform-action transmit exceed-action drop
  372.  
  373. Currently, CAR is only available for 7200 and 7500 series routers.
  374. Additional platform support is planned in 12.0.
  375.  
  376. Additionally, CAR can be used to set IP precedence; this is beyond
  377. the scope of this paper.  Consult www.cisco.com for more information
  378. on the uses of CAR.
  379.  
  380. TRACING SPOOFED PACKET STREAMS:
  381.  
  382. Tracking these attacks can prove to be difficult, but is possible with
  383. coordination and cooperation from providers.  This section also assumes
  384. Cisco routers, because I can speak only about the abilities of Cisco to
  385. log/filter packets and what impact it may have.
  386.  
  387. Today, logging packets which pass through or get dropped in an ACL is
  388. possible; however, all packets with the "log" or "log-input" ACL options
  389. are sent to process level for logging.  For a large stream of packets,
  390. this could cause excessive CPU problems.  For this reason, tracking
  391. attacks via IOS logging today is limited to either lower bandwidth attacks
  392. (smaller than 10k packets per second).  Even then, the number of log
  393. messages generated by the router could overload a syslog server. 
  394.  
  395. Cisco bug ID CSCdj35856 addresses this problem.  It has been integrated
  396. into IOS version 11.1CA releases beginning with 11.1(14.1)CA (a
  397. maintenance interim release), and makes it possible to log packets at
  398. defined intervals and to process logged packets not at that interval in
  399. the fast path.  I will update this page with version numbers as the
  400. releases are integrated.
  401.  
  402. Some information on logging: 
  403.  
  404. In later 11.1 versions, a new keyword was introduced for ACL logging: 
  405. "log-input".  A formatted ACL line utilizing the keyword looks like this: 
  406.  
  407. access-list 101 permit icmp any any echo log-input
  408.  
  409. When applied to an interface, this line will log all ICMP ping packets
  410. with input interface and MAC address (for multi-access networks). 
  411. Point-to-point interfaces will not have a MAC address listed. 
  412.  
  413. Here's an example of the log entry for a multi-access network (FDDI, Ether): 
  414.  
  415. Sep 10 23:17:01 PDT: %SEC-6-IPACCESSLOGDP: list 101 permitted icmp
  416. 10.0.7.30 (FastEthernet1/0 0060.3e2f.6e41) -> 10.30.248.3 (8/0), 5 packets
  417.  
  418. Here's an example of the log entry for a point-to-point network: 
  419.  
  420. Sep 10 23:29:00 PDT: %SEC-6-IPACCESSLOGDP: list 101 permitted icmp
  421. 10.0.7.30 (BRI0 *PPP*) -> 10.0.19.242 (8/0), 1 packet
  422.  
  423. Substituting "log" for "log-input" will eliminate the incoming interface
  424. and MAC address from the log messages. 
  425.  
  426. We'll use the first log entry to demonstrate how to go from here.  This
  427. log entry means the packet came in on FastEthernet1/0, from MAC address
  428. 0060.3e2f.6e41, destined for 10.30.248.3.  From here, you can use "show ip
  429. arp" (if needed) to determine the IP address for the MAC address, and go
  430. to the next hop for tracing or contact the necessary peer (in the case of
  431. an exchange point).  This is a hop-by-hop tracing method. 
  432.  
  433. Example of "show ip arp" used to find next hop: 
  434.  
  435. netlab#show ip arp 0060.3e2f.6e41
  436. Protocol  Address          Age (min)  Hardware Addr   Type   Interface
  437. Internet  10.0.183.65            32   0060.3e2f.6e41  ARPA   FastEthernet1/0
  438.  
  439. As you can see, 10.0.183.65 is the next hop where the packets came from
  440. and we should go there to continue the tracing process, utilizing the same
  441. ACL method.  By doing this, you can track the spoof attack backwards. 
  442.  
  443. While this is general information on tracking spoofed packets, it must be
  444. noted that the victims of a smurf/fraggle attack get packets from the listed
  445. source in the packets; i.e., they receive echo-reply packets truly from the
  446. source listed in the IP header.  This information should be used by the
  447. amplifiers or intermediaries to track the spoofed echo _request_ packets
  448. back to their source (the perpetrator).
  449.  
  450. MCI's Internet Security team has put together a perl script which, in an
  451. automated fashion, can log into your Cisco routers and trace a spoof attack
  452. back to its source.  The program is available, free of charge.  See
  453. http://www.security.mci.net/dostracker/ for more information.
  454.  
  455. OTHER DENIAL OF SERVICE ATTACKS WORTHY OF MENTION:
  456.  
  457. Two other denial of service attacks frequently encountered are TCP SYN
  458. floods, and UDP floods aimed at diagnostic ports on hosts. 
  459.  
  460. TCP SYN attacks consist of a large number of spoofed TCP connection set-up
  461. messages aimed at a particular service on a host.  Older TCP
  462. implementations cannot handle many faked connection set-up packets, and
  463. will not allow access to the victim service.
  464.  
  465. The most common form of UDP flooding directed at harming networks is an
  466. attack consisting of a large number of spoofed UDP packets aimed at
  467. diagnostic ports on network devices.  This attack is also known as the
  468. "pepsi" attack (again named after the exploit program), and can cause
  469. network devices to use up a large amount of CPU time responding to these
  470. packets.
  471.  
  472. To get more information on minimizing the effects of these two attacks,
  473. see: 
  474.  
  475. Defining Strategies to Protect Against TCP SYN
  476.   Denial of Service Attacks
  477.   http://cio.cisco.com/warp/public/707/4.html
  478.  
  479. Defining Strategies to Protect Against UDP Diagnostic
  480.   Port DoS Attacks
  481.   http://cio.cisco.com/warp/public/707/3.html
  482.  
  483. "SMURF UPDATE":
  484.  
  485. Since this document was published in October, 1997, we have seen significant
  486. reductions in the amount of smurf attacks.  From the statistics gathered on
  487. noticeable smurf attacks, we have seen a reduction in average bandwidth
  488. used on a smurf attack from 80 Mbps to 5 Mbps.  Additionally, there has been
  489. a reduction in the number of noticeable smurf attacks (by about 50%).
  490.  
  491. Fraggle attacks are not widely used as the same methods of prevention for
  492. ICMP smurf work for UDP fraggle.
  493.  
  494. PERFORMANCE INFORMATION:
  495.  
  496. One ISP has reported that, spread across three routers (2 RSP2 and 1
  497. RSP4), the fast drop code eliminated a sustained 120 Mbps smurf
  498. attack and kept the network running without performance problems.
  499.  
  500. As always, your mileage may vary. 
  501.  
  502. ACKNOWLEDGEMENTS:
  503.  
  504. Thanks to all those who helped review and provide input to the paper, as
  505. well as sanity checking.
  506.  
  507. Specific thanks to:
  508.  
  509. * Ravi Chandra of Cisco Systems for information on the bugfixes.
  510. * All those who provided information on other vendors' equipment.
  511. * Paul Ferguson of Cisco Systems, Kelly Cooper of GTE/BBN, Rob McMillan of
  512.   CERT for sanity-check and review comments.
  513.  
  514. Referenced documents:
  515.  
  516. RFC-1122, "Requirements for Internet Hosts - Communication Layers";
  517.   R.T. Braden; October 1989.
  518.  
  519. RFC-1812, "Requirements for IP Version 4 Routers"; F. Baker; June 1995.
  520.  
  521. RFC-2267, "Network Ingress Filtering: Defeating Denial of Service Attacks
  522.   which employ IP Source Address Spoofing"; P. Ferguson, D. Senie;
  523.   January 1998.
  524.  
  525. Defining Strategies to Protect Against TCP SYN
  526.   Denial of Service Attacks
  527.   http://cio.cisco.com/warp/public/707/4.html
  528.  
  529. Defining Strategies to Protect Against UDP Diagnostic
  530.   Port DoS Attacks 
  531.   http://cio.cisco.com/warp/public/707/3.html
  532.  
  533. Cisco command documention to turn off directed broadcasts
  534.   http://www.cisco.com/univercd/cc/td/doc/product/software/ios113ed/cs/csprtn1/csipadr.htm#xtocid748113
  535.  
  536. 3Com command documentation to turn off directed broadcasts
  537.   http://infodeli.3com.com/infodeli/tools/bridrout/u_guides/html/nb101/family/REF/ip4.htm#190
  538.  
  539. 3Com command documentation to disable source spoofing
  540.   http://infodeli.3com.com/infodeli/tools/bridrout/u_guides/html/nb101/family/REF/firewal3.htm#1823
  541.  
  542. PERMISSION TO DUPLICATE:
  543.  
  544. Permission to duplicate this information is granted under these terms: 
  545.  
  546. 1.  My name and e-mail address remains on the information as a target for
  547.     questions and identification of the source
  548. 2.  My disclaimer appears on the information at the bottom
  549. 3.  Feel free to add extra information from other discussions, etc., but
  550.     please ensure the correct attribution is made to the author.  Also
  551.     provide Craig Huegen (chuegen@quadrunner.com) a copy of your additions.
  552. 4.  Please help disseminate this information to other network
  553.     administrators who are affected by these attacks.
  554.  
  555. If you have questions, I will be happy to answer them to the best of my
  556. knowledge.
  557.  
  558. MY DISCLAIMER:
  559.  
  560. I'm speaking about this as an interested party only.  All text in this
  561. paper was written by me; I speak/write for no one but myself.  No vendors
  562. have officially confirmed/denied any of the information contained herein.
  563. All research for this paper is being done purely as a matter of
  564. self-interest and desire to help others minimize effects of this attack. 
  565.  
  566. Craig A. Huegen
  567. chuegen@quadrunner.com
  568. http://www.quadrunner.com/~chuegen/smurf.txt
  569.